///#begin en
//
//  Copyright (c) 2016 MyCamCloud. All rights reserved.
//
///#end

#import "HKSServerClient.h"
@interface HKSServerClient (User)


/*
 接口说明:
 修改服务器的登录密码

 接口说明:
 userId[NSString]:用户名
 oldPwd[NSString]:原密码
 newPwd[NSString]:新密码
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)modifyUserPwd:(NSString *)userId oldPwd:(NSString*)oldPwd newPwd:(NSString*)newPwd;

/*
 接口说明:
 根据手机号码，发送验证码到手机,移动\联通专用接口
 
 接口说明:
 phonenumber[NSString]:用户名,手机号码
 checkId[unsigned int]:获取到的验证ID,输出给上层

 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)registerGetPhoneVerificationCode:(NSString *)phonenumber checkId:(unsigned int*)checkId;

/*
 接口说明:
 根据验证ID和手机短信收到的验证码进行注册,移动\联通专用接口

 接口说明:
 checkId[unsigned int]:验证ID,由registerGetPhoneVerificationCode接口获取
 securityCode[NSString]:收到的短信验证码
 userId[NSMutableString]:注册成功后的用户名,输出给上层
 userPwd[NSMutableString]:注册成功后的密码,输出给上层
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)registerAtVerificationCode:(unsigned int)checkId
                 verificationCode:(NSString *)theVerificationCode
                           userId:(NSMutableString *)theUserId
                          userPwd:(NSMutableString *)thePassword;

/*
 接口说明:
 注册用户
 
 接口说明:
 name:姓名(选填)
 userID:用户ID(必填)
 password:密码(必填)
 email:找回密码邮箱(必填)
 phone:电话号码(选填)
 identityCar(身份证号码)
 guid:唯一识别码（或客户端标识，如IMSI\UDID等）(可填写nil，由底层分配)
 */
- (int)registerAtUserData:(NSString *)name
                   userID:(NSString *)userID
                 password:(NSString *)password
                    email:(NSString *)email
                    phone:(NSString *)phone
              identityCar:(NSString *)identityCar
                     guid:(NSString *)guid;


/*
 接口说明:
 根据用户名发送重置密码到邮件,云服务器专门接口

 参数说明:
 userid:用户名

 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)forgetPasswordToEMailAtUser:(NSString *)userid;

/*
 接口说明:
 找回密码,流媒体专用接口

 参数说明:
 userid:用户名
 typeName:输出发送消息类型名称，如短信、邮件

 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)forgetPasswordAtUser:(NSString *)userId msgTypeName:(NSMutableString *)typeName;

/*
 接口说明:
 找回注册邮箱
 
 接口说明
 userid:用户名
 out_email:找回的邮箱地址,输出给上层
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)forgetEMailAtUser:(NSString *)userid outEmail:(NSMutableString *)out_email;


/*
 接口说明:
 获取当前绑定终端状态
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)loginBindUserEnable:(uint32_t *)outLoginBindUserEnable;

/*
 接口说明:
 设置绑定终端,使该帐号只能在指定的终端使用,
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)setLoginBindUserEnable:(uint32_t)inLoginBindUserEnable;
@end
